<html>
<head><meta charset="utf-8"><title>TAITs ahoy · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html">TAITs ahoy</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="247205934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247205934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247205934">(Jul 26 2021 at 14:01)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="124288">@oli</span> and <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> or others-- can we sync on Zuliptoday?</p>



<a name="247205955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247205955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247205955">(Jul 26 2021 at 14:01)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span>, sure!</p>



<a name="247205960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247205960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247205960">(Jul 26 2021 at 14:01)</a>:</h4>
<p>zulip party sgtm</p>



<a name="247206014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206014">(Jul 26 2021 at 14:01)</a>:</h4>
<p>I was going to ask, what's the plan with <code>min_type_alias_impl_trait</code>?</p>



<a name="247206085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206085">(Jul 26 2021 at 14:02)</a>:</h4>
<p>put it into a bunker next to a nuke and run</p>



<a name="247206104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206104">(Jul 26 2021 at 14:02)</a>:</h4>
<p>lol</p>



<a name="247206112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206112">(Jul 26 2021 at 14:02)</a>:</h4>
<p>idk, we can still use it for syntactical gating</p>



<a name="247206130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206130">(Jul 26 2021 at 14:02)</a>:</h4>
<p>but the usefulness of that is... unclear</p>



<a name="247206153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206153">(Jul 26 2021 at 14:02)</a>:</h4>
<p>ok</p>



<a name="247206166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206166">(Jul 26 2021 at 14:02)</a>:</h4>
<p>like, we can't really protect against using it <em>everywhere</em> with the new system</p>



<a name="247206176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206176">(Jul 26 2021 at 14:03)</a>:</h4>
<p>I think at this point the idea should be scrapped</p>



<a name="247206192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206192">(Jul 26 2021 at 14:03)</a>:</h4>
<p>and we should just run with <code>type_alias_impl_trait</code> and stabilize the "whole thing"</p>



<a name="247206199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206199">(Jul 26 2021 at 14:03)</a>:</h4>
<p>or move any remaining details to other feature gates</p>



<a name="247206204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206204">(Jul 26 2021 at 14:03)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="247206241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206241">(Jul 26 2021 at 14:03)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> how goes the hacking on the newer approach?</p>



<a name="247206334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206334">(Jul 26 2021 at 14:04)</a>:</h4>
<p>well... as we discussed on Friday, there is an unfortunate coupling of the current eager <code>instantiate</code> scheme that does both infer var generation and bound generation</p>



<a name="247206428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206428">(Jul 26 2021 at 14:05)</a>:</h4>
<p>I am now splitting this up. The eager thing will still generate the infer vars, but the bound generation will happen after inference is done</p>



<a name="247206459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206459">(Jul 26 2021 at 14:05)</a>:</h4>
<p>i.e., if we have <code>-&gt; impl Debug</code>, which we instantiate to <code>?X</code>, then "bound generation" means adding <code>?X: Debug</code>?</p>



<a name="247206481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206481">(Jul 26 2021 at 14:05)</a>:</h4>
<p>I've crossed a lot of time zones since Friday, so forgive me while I page things back in</p>



<a name="247206505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206505">(Jul 26 2021 at 14:05)</a>:</h4>
<p>yea</p>



<a name="247206516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206516">(Jul 26 2021 at 14:05)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247206428">said</a>:</p>
<blockquote>
<p>I am now splitting this up. The eager thing will still generate the infer vars, but the bound generation will happen after inference is done</p>
</blockquote>
<p>unification does return a set of obligations</p>



<a name="247206521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206521">(Jul 26 2021 at 14:05)</a>:</h4>
<p>that's exactly it</p>



<a name="247206523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206523">(Jul 26 2021 at 14:05)</a>:</h4>
<p>(the <code>InferOk</code> list)</p>



<a name="247206578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206578">(Jul 26 2021 at 14:06)</a>:</h4>
<p>so plausibly we could return the bounds in there, right?</p>



<a name="247206587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206587">(Jul 26 2021 at 14:06)</a>:</h4>
<p>hmm</p>



<a name="247206606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206606">(Jul 26 2021 at 14:06)</a>:</h4>
<p>the problem was that we can't compute the bounds</p>



<a name="247206624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206624">(Jul 26 2021 at 14:06)</a>:</h4>
<p>because <code>rustc_infer</code> doesn't have access to <code>rustc_trait_resolve</code></p>



<a name="247206647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206647">(Jul 26 2021 at 14:06)</a>:</h4>
<p>it seems ok to generate the bounds later</p>



<a name="247206655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206655">(Jul 26 2021 at 14:06)</a>:</h4>
<p>but remind me why this matters :)</p>



<a name="247206735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247206735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247206735">(Jul 26 2021 at 14:07)</a>:</h4>
<p>sec, I need to link to code to explain</p>



<a name="247207126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207126">(Jul 26 2021 at 14:10)</a>:</h4>
<p>argml, vscode doesn't link to lines anymore, just to files</p>



<a name="247207200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207200">(Jul 26 2021 at 14:11)</a>:</h4>
<p>anyway, so we have a FnCtxt for typeck to check an entire function. This currently eagerly instantiates opaque types from the return type</p>



<a name="247207306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207306">(Jul 26 2021 at 14:12)</a>:</h4>
<p>the obligations generated during that (returned via <code>InferOk</code>) are stored in the FnCtxt</p>



<a name="247207372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207372">(Jul 26 2021 at 14:12)</a>:</h4>
<p>are they handled specially somewhere?</p>



<a name="247207397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207397">(Jul 26 2021 at 14:12)</a>:</h4>
<p>The obligations are generated in <code>instantiate_opaque_types_in_map</code> or more precisely <code>fold_opaque_ty</code></p>



<a name="247207410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207410">(Jul 26 2021 at 14:13)</a>:</h4>
<p>right</p>



<a name="247207426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207426">(Jul 26 2021 at 14:13)</a>:</h4>
<p>not really, they are just generated right when we create the inference variable</p>



<a name="247207443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207443">(Jul 26 2021 at 14:13)</a>:</h4>
<p>but doing this at the same time is not necessary</p>



<a name="247207450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207450">(Jul 26 2021 at 14:13)</a>:</h4>
<p>right</p>



<a name="247207460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207460">(Jul 26 2021 at 14:13)</a>:</h4>
<p>I definitely think we <em>can</em> do it later</p>



<a name="247207484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207484">(Jul 26 2021 at 14:13)</a>:</h4>
<p>I might have expected us to do it via <code>InferOk</code></p>



<a name="247207491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207491">(Jul 26 2021 at 14:14)</a>:</h4>
<p>but I am ok with either approach</p>



<a name="247207540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207540">(Jul 26 2021 at 14:14)</a>:</h4>
<p>at least for now</p>



<a name="247207580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207580">(Jul 26 2021 at 14:14)</a>:</h4>
<p>I imagine that you are thinking we'll have the <code>FnCtxt</code> iterate over the hashmap of "instantiated opaque types" in the inferctxt and add the relevant obligations, probably at the very end of typecheck?</p>



<a name="247207591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207591">(Jul 26 2021 at 14:14)</a>:</h4>
<p>yes</p>



<a name="247207601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207601">(Jul 26 2021 at 14:14)</a>:</h4>
<p>we may have to do it more than once</p>



<a name="247207608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207608">(Jul 26 2021 at 14:14)</a>:</h4>
<p>or-- perhaps--</p>



<a name="247207657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207657">(Jul 26 2021 at 14:15)</a>:</h4>
<p>I would probably add that logic into the "fulfill obligations if necessary" callback-- let me find it</p>



<a name="247207809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247207809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247207809">(Jul 26 2021 at 14:16)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247206655">said</a>:</p>
<blockquote>
<p>but remind me why this matters <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>
</blockquote>
<p>the problem is that inference happens in <code>rustc_infer</code>, but obligation generation needs to call code from <code>rustc_trait_selection</code>, and I don't want to even try to add a dependency to <code>rustc_infer</code></p>



<a name="247208163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208163">(Jul 26 2021 at 14:18)</a>:</h4>
<p>ok ok, I'm not sure why they should ahve to, but I believe you</p>



<a name="247208210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208210">(Jul 26 2021 at 14:19)</a>:</h4>
<p>it may be possible to untangle them</p>



<a name="247208216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208216">(Jul 26 2021 at 14:19)</a>:</h4>
<p>but it is very entangled right now</p>



<a name="247208289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208289">(Jul 26 2021 at 14:19)</a>:</h4>
<p>so I would add the automatic generation here I think</p>



<a name="247208296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208296">(Jul 26 2021 at 14:19)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w">    </span><span class="k">pub</span><span class="p">(</span><span class="k">in</span><span class="w"> </span><span class="k">super</span>::<span class="k">super</span><span class="p">)</span><span class="w"> </span><span class="k">fn</span> <span class="nf">select_obligations_where_possible</span><span class="p">(</span><span class="w"></span>
<span class="w">        </span><span class="o">&amp;</span><span class="bp">self</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">fallback_has_occurred</span>: <span class="kt">bool</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">mutate_fulfillment_errors</span>: <span class="nc">impl</span><span class="w"> </span><span class="nb">Fn</span><span class="p">(</span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="nb">Vec</span><span class="o">&lt;</span><span class="n">traits</span>::<span class="n">FulfillmentError</span><span class="o">&lt;'</span><span class="na">tcx</span><span class="o">&gt;&gt;</span><span class="p">),</span><span class="w"></span>
<span class="w">    </span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</code></pre></div>



<a name="247208344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208344">(Jul 26 2021 at 14:20)</a>:</h4>
<p>in <code>impl FnCtxt</code></p>



<a name="247208379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208379">(Jul 26 2021 at 14:20)</a>:</h4>
<p>I can't easily generate my github links this second</p>



<a name="247208397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208397">(Jul 26 2021 at 14:20)</a>:</h4>
<p>I see it</p>



<a name="247208406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208406">(Jul 26 2021 at 14:20)</a>:</h4>
<p>but to explain my thinking:</p>



<a name="247208458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208458">(Jul 26 2021 at 14:20)</a>:</h4>
<p>we call that function when we want to try to solve obligations-- either because we have to (at the end of compilation) or because doing so may give us more typing hints</p>



<a name="247208504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208504">(Jul 26 2021 at 14:21)</a>:</h4>
<p>this does require us to be a bit smarter around the inference contxt, i.e., we'd have to be able to say "have we already added the obligations? if so, don't do it again"</p>



<a name="247208517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208517">(Jul 26 2021 at 14:21)</a>:</h4>
<p>but that's not hard</p>



<a name="247208539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208539">(Jul 26 2021 at 14:21)</a>:</h4>
<p>yea, that sounds like the right spot</p>



<a name="247208565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208565">(Jul 26 2021 at 14:21)</a>:</h4>
<p>there are two things I like about this</p>



<a name="247208587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208587">(Jul 26 2021 at 14:21)</a>:</h4>
<ul>
<li>in the future, I'd like us to be able to conclude that <code>?T: Debug</code> based on the fact that we're going to have to prove it later</li>
</ul>



<a name="247208612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208612">(Jul 26 2021 at 14:21)</a>:</h4>
<p>for that to work, we'd need the <code>?T: Debug</code> obligation to be registered :)</p>



<a name="247208656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208656">(Jul 26 2021 at 14:22)</a>:</h4>
<p>and e.g. method dispatch (if I'm not mistaken) calls into this function</p>



<a name="247208696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208696">(Jul 26 2021 at 14:22)</a>:</h4>
<p>on the hopes that it will figure out what <code>?T</code> is</p>



<a name="247208726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208726">(Jul 26 2021 at 14:22)</a>:</h4>
<ul>
<li>we may have to do obligation generation in rounds anyway:</li>
</ul>



<a name="247208783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208783">(Jul 26 2021 at 14:22)</a>:</h4>
<p>the end of type check is this fixed point thing where we try to solve all the obligatios, then do some defaulting, and try to prove some more, etc</p>



<a name="247208812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208812">(Jul 26 2021 at 14:23)</a>:</h4>
<p>I could imagine that that process may wind up touching on some TAITs that are in scope</p>



<a name="247208820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208820">(Jul 26 2021 at 14:23)</a>:</h4>
<p>and hence growing the set</p>



<a name="247208840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208840">(Jul 26 2021 at 14:23)</a>:</h4>
<p>it'd be good to try and make a test case for that though :) sounds a bit complex lol</p>



<a name="247208844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208844">(Jul 26 2021 at 14:23)</a>:</h4>
<p>make sense?</p>



<a name="247208859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247208859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247208859">(Jul 26 2021 at 14:23)</a>:</h4>
<p>yes, both points</p>



<a name="247209040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209040">(Jul 26 2021 at 14:24)</a>:</h4>
<p>cool</p>



<a name="247209123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209123">(Jul 26 2021 at 14:25)</a>:</h4>
<p>so <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> not sure what you're up to :) test cases?</p>



<a name="247209167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209167">(Jul 26 2021 at 14:25)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> do you have a sense for timeline here?</p>



<a name="247209196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209196">(Jul 26 2021 at 14:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209123">said</a>:</p>
<blockquote>
<p>so <span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> not sure what you're up to :) test cases?</p>
</blockquote>
<p>yes, I'm with the test cases</p>



<a name="247209273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209273">(Jul 26 2021 at 14:26)</a>:</h4>
<p>there are tests that exist in the test suite but we don't have in the document</p>



<a name="247209298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209298">(Jul 26 2021 at 14:26)</a>:</h4>
<p>I'm adding a section in a document I own, saying what they are them about</p>



<a name="247209331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209331">(Jul 26 2021 at 14:26)</a>:</h4>
<p>but also, I'd be fine to get some coding tasks too if there's any to do</p>



<a name="247209481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209481">(Jul 26 2021 at 14:27)</a>:</h4>
<p>oh one other point, <span class="user-mention" data-user-id="124288">@oli</span>, as a final consistency check, we should check that the set of types for which we have instantiated obligations, and the set of types we have instantiated within inferctxt, are the same set :)</p>



<a name="247209567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209567">(Jul 26 2021 at 14:28)</a>:</h4>
<p>ok, that all sounds good <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="247209595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209595">(Jul 26 2021 at 14:28)</a>:</h4>
<p>as far as coding, I <em>think</em> right now we're still blocked on <span class="user-mention" data-user-id="124288">@oli</span>'s refactoring before it makes sense to do anything else</p>



<a name="247209624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209624">(Jul 26 2021 at 14:28)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209167">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="124288">oli</span> do you have a sense for timeline here?</p>
</blockquote>
<p>well, so far it has been an "looks good, oh weird situation -&gt; lots more work", this pattern may continue. Other than that, probably two weeks for the impl plus another for testing? Also got a weird ICE after removing the typeck dependency for tait information during mir borrowck: <a href="https://github.com/rust-lang/rust/issues/87455#issue-952299650">https://github.com/rust-lang/rust/issues/87455#issue-952299650</a></p>



<a name="247209647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209647">(Jul 26 2021 at 14:28)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209595">said</a>:</p>
<blockquote>
<p>as far as coding, I <em>think</em> right now we're still blocked on <span class="user-mention silent" data-user-id="124288">oli</span>'s refactoring before it makes sense to do anything else</p>
</blockquote>
<p>removing min_tait can be done in parallel</p>



<a name="247209746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209746">(Jul 26 2021 at 14:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209481">said</a>:</p>
<blockquote>
<p>oh one other point, <span class="user-mention silent" data-user-id="124288">oli</span>, as a final consistency check, we should check that the set of types for which we have instantiated obligations, and the set of types we have instantiated within inferctxt, are the same set <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>
</blockquote>
<p>that will require a bit of tracking overhead, but seems ok to do right now and remove later</p>



<a name="247209843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209843">(Jul 26 2021 at 14:30)</a>:</h4>
<p>I'm imagining you have to do that anyway</p>



<a name="247209884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209884">(Jul 26 2021 at 14:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209647">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209595">said</a>:</p>
<blockquote>
<p>as far as coding, I <em>think</em> right now we're still blocked on <span class="user-mention silent" data-user-id="124288">oli</span>'s refactoring before it makes sense to do anything else</p>
</blockquote>
<p>removing min_tait can be done in parallel</p>
</blockquote>
<p>do you think we should remove the feature flag and just leave <code>type_alias_impl_trait</code>?</p>



<a name="247209892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209892">(Jul 26 2021 at 14:30)</a>:</h4>
<p>I was thinking that, in the <code>FnCtxt</code>, there would be a hashset of "all TAITs that have had their obligations created"</p>



<a name="247209910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209910">(Jul 26 2021 at 14:30)</a>:</h4>
<p>and we would compare its contents against the set "all TAITs taht have inference variables"</p>



<a name="247209931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209931">(Jul 26 2021 at 14:30)</a>:</h4>
<p>ok, I can remove the feature flag then</p>



<a name="247209935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209935">(Jul 26 2021 at 14:30)</a>:</h4>
<p>in order to create any obligations that are needed</p>



<a name="247209961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209961">(Jul 26 2021 at 14:31)</a>:</h4>
<p>is "let binding impl trait" fully removed?</p>



<a name="247209974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247209974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247209974">(Jul 26 2021 at 14:31)</a>:</h4>
<p>yes</p>



<a name="247210000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210000">(Jul 26 2021 at 14:31)</a>:</h4>
<p>also, I've adjusted our dashboard</p>



<a name="247210003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210003">(Jul 26 2021 at 14:31)</a>:</h4>
<p>very nice</p>



<a name="247210008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210008">(Jul 26 2021 at 14:31)</a>:</h4>
<p>moved some tasks to complete</p>



<a name="247210049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210049">(Jul 26 2021 at 14:31)</a>:</h4>
<p>also the work we were doing together is merged</p>



<a name="247210098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210098">(Jul 26 2021 at 14:31)</a>:</h4>
<p>talking about <a href="https://github.com/rust-lang/rust/issues/87287">#87287</a>, which closes <a href="https://github.com/rust-lang/rust/issues/86465">#86465</a></p>



<a name="247210101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210101">(Jul 26 2021 at 14:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247209935">said</a>:</p>
<blockquote>
<p>in order to create any obligations that are needed</p>
</blockquote>
<p>I was considering just adding a "todo" queue that gets emptied every time we resolve some, but just having a set works, too</p>



<a name="247210201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210201">(Jul 26 2021 at 14:32)</a>:</h4>
<p>and <a href="https://github.com/rust-lang/rust/issues/86410">#86410</a> is merged too</p>



<a name="247210768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247210768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247210768">(Jul 26 2021 at 14:36)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> a to-do- queue could work, yeah, in that case checking for consistency is just checking that the queue is empty.</p>



<a name="247211224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247211224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247211224">(Jul 26 2021 at 14:39)</a>:</h4>
<p>cool, seems like not much to talk about then?</p>



<a name="247211287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247211287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247211287">(Jul 26 2021 at 14:40)</a>:</h4>
<p>I guess <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> can remove the <code>min_tait</code> feature gate</p>



<a name="247211316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247211316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247211316">(Jul 26 2021 at 14:40)</a>:</h4>
<p>I'm wondering then about the issue triage -- butI think we'll just revisit it after the "reimplement the core engine" work is done</p>



<a name="247211531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247211531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247211531">(Jul 26 2021 at 14:41)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247211316">said</a>:</p>
<blockquote>
<p>I'm wondering then about the issue triage -- butI think we'll just revisit it after the "reimplement the core engine" work is done</p>
</blockquote>
<p>someone already did a PR to close all the impl trait in bindings ICE issues by creating tests for them</p>



<a name="247211624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247211624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247211624">(Jul 26 2021 at 14:42)</a>:</h4>
<p>but yea, the rest needs a full review with the new information we have now</p>



<a name="247214364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247214364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247214364">(Jul 26 2021 at 15:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247211531">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/TAITs.20ahoy/near/247211316">said</a>:</p>
<blockquote>
<p>I'm wondering then about the issue triage -- butI think we'll just revisit it after the "reimplement the core engine" work is done</p>
</blockquote>
<p>someone already did a PR to close all the impl trait in bindings ICE issues by creating tests for them</p>
</blockquote>
<p>can you provide a link to that?</p>



<a name="247215714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247215714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247215714">(Jul 26 2021 at 15:09)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/87383">https://github.com/rust-lang/rust/pull/87383</a></p>



<a name="247501681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/TAITs%20ahoy/near/247501681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/TAITs.20ahoy.html#247501681">(Jul 28 2021 at 18:55)</a>:</h4>
<p>I caused an ICE with the mir borrowck/typeck decoupling. The fix is up in <a href="https://github.com/rust-lang/rust/pull/87483">https://github.com/rust-lang/rust/pull/87483</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>